package com.pingan.mobilegw.adapterservice;

import com.pingan.mobilegw.adapterservice.model.CacheSession;
import com.pingan.mobilegw.adapterservice.model.ToString;

import java.util.Map;

/**
 * 无线RPC调用上下文信息
 * 
 * @author jiadao
 * @version $Id: MobileContext.java, v 0.1 2013-4-12 下午3:34:16 jiadao Exp $
 */
public class MobileContext extends ToString {

    /** serialVersionUID */
    private static final long   serialVersionUID = -385130304373599505L;

    /** 操作类型 */
    private String              operationType;

    /**
     * 请求系统sysName
     * */
    private String              sysName;
    /**
     * 请求类className
     * */
    private String              className;
    /**
     * 请求方法methodName
     * */
    private String              methodName;
    /**
     * 经过网关传递的sessionid
     * */
    private CacheSession        session;

    /**
     * 经过网关传递的header参数
     * */
    private Map<String, String> headers;
    /**
     * 经过网关传递的cookie参数
     * */
    private Map<String, String> cookies;

    /**
     * Getter method for property <tt>session</tt>.
     * 
     * @return property value of session
     */
    public CacheSession getSession() {
        return session;
    }

    /**
     * Setter method for property <tt>session</tt>.
     * 
     * @param session value to be assigned to property session
     */
    public void setSession(CacheSession session) {
        this.session = session;
    }

    /**
     * Getter method for property <tt>sysName</tt>.
     * 
     * @return property value of sysName
     */
    public String getSysName() {
        return sysName;
    }

    /**
     * Setter method for property <tt>sysName</tt>.
     * 
     * @param sysName value to be assigned to property sysName
     */
    public void setSysName(String sysName) {
        this.sysName = sysName;
    }

    /**
     * Getter method for property <tt>className</tt>.
     * 
     * @return property value of className
     */
    public String getClassName() {
        return className;
    }

    /**
     * Setter method for property <tt>className</tt>.
     * 
     * @param className value to be assigned to property className
     */
    public void setClassName(String className) {
        this.className = className;
    }

    /**
     * Getter method for property <tt>methodName</tt>.
     * 
     * @return property value of methodName
     */
    public String getMethodName() {
        return methodName;
    }

    /**
     * Setter method for property <tt>methodName</tt>.
     * 
     * @param methodName value to be assigned to property methodName
     */
    public void setMethodName(String methodName) {
        this.methodName = methodName;
    }

    /**
     * Getter method for property <tt>headers</tt>.
     * 
     * @return property value of headers
     */
    public Map<String, String> getHeaders() {
        return headers;
    }

    /**
     * Setter method for property <tt>headers</tt>.
     * 
     * @param headers value to be assigned to property headers
     */
    public void setHeaders(Map<String, String> headers) {
        this.headers = headers;
    }

    /**
     * Getter method for property <tt>cookies</tt>.
     * 
     * @return property value of cookies
     */
    public Map<String, String> getCookies() {
        return cookies;
    }

    /**
     * Setter method for property <tt>cookies</tt>.
     * 
     * @param cookies value to be assigned to property cookies
     */
    public void setCookies(Map<String, String> cookies) {
        this.cookies = cookies;
    }

    /**
     * Getter method for property <tt>serialversionuid</tt>.
     * 
     * @return property value of serialVersionUID
     */
    public static long getSerialversionuid() {
        return serialVersionUID;
    }

    /**
     * Getter method for property <tt>operationType</tt>.
     * 
     * @return property value of operationType
     */
    public String getOperationType() {
        return operationType;
    }

    /**
     * Setter method for property <tt>operationType</tt>.
     * 
     * @param operationType value to be assigned to property operationType
     */
    public void setOperationType(String operationType) {
        this.operationType = operationType;
    }

}
